package com.sgzn.sgpay.model.request;

import com.sgzn.sgpay.constants.WXInfoConstants;
import com.sgzn.sgpay.enums.SeqFlagEnum;
import com.sgzn.sgpay.util.IpUtils;
import com.sgzn.sgpay.util.SeqUtil;
import lombok.Data;
import lombok.ToString;

/**
 * 微信支付统一下单请求类
 * @author huangsenguang
 * @version Id: WXUnifiedorderReqDto.java, v 0.1 2018/5/6 10:50 huangsenguang Exp $$
 */
@Data
@ToString
public class WXUnifiedorderReqDto {
    //----------------------微信支付需加签参数 start ----------------------------
    /**
     * 小程序ID
     */
    private String appid = WXInfoConstants.APPID;
    /**
     * 商户号
     */
    private String mch_id = WXInfoConstants.MCH_ID;
    /**
     * 随机字符串
     */
    private String nonce_str = SeqUtil.getShortSeq(SeqFlagEnum.WX_RANDOM.getCode());
    /**
     * 签名
     */
    private String sign;
    /**
     * 商品描述
     */
    private String body = "sgpay-pay";
    /**
     *
     * 商户订单号
     */
    private String out_trade_no = SeqUtil.getShortSeq(SeqFlagEnum.T_MAIN_ORDER_ID.getCode());
    /**
     * 标价金额 单位分
     */
    private String total_fee;
    /**
     * 终端IP
     */
    private String spbill_create_ip = IpUtils.getLocalhostIp();
    /**
     * 通知地址
     */
    private String notify_url = WXInfoConstants.NOTIFY_URL_PAY_UNIFIEDORDER;
    /**
     * 交易类型
     */
    private String trade_type = WXInfoConstants.TRADE_TYPE;
    /**
     * 用户标识
     */
    private String openid;
    //----------------------微信支付需加签参数 end ----------------------------

    /**
     * 商户秘钥
     */
    private String mchKey = WXInfoConstants.MCH_API_KEY;

    /**
     * 统一下单接口链接
     */
    private String wxUri = WXInfoConstants.WXURI_PAY_UNIFIEDORDER;
}


